using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace Pay.Data {
	public partial class MerchantMap
		: System.Data.Entity.ModelConfiguration.EntityTypeConfiguration<Merchant> {
		public MerchantMap() {
			// table
			ToTable("mc_Merchant", "dbo");

			// keys
			HasKey(t => t.Id);

			// Properties
			Property(t => t.Id)
				.HasColumnName("Id")
				.HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity)
				.IsRequired();
			Property(t => t.Mobile)
				.HasColumnName("Mobile")
				.HasMaxLength(20)
				.IsRequired();
			Property(t => t.Password)
				.HasColumnName("Password")
				.HasMaxLength(100)
				.IsOptional();
			Property(t => t.PasswordSalt)
				.HasColumnName("PasswordSalt")
				.HasMaxLength(100)
				.IsOptional();
			Property(t => t.Name)
				.HasColumnName("Name")
				.HasMaxLength(50)
				.IsRequired();
			Property(t => t.Photo)
				.HasColumnName("Photo")
				.HasMaxLength(100)
				.IsOptional();
			Property(t => t.CreateTime)
				.HasColumnName("CreateTime")
				.IsRequired();
			Property(t => t.Disabled)
				.HasColumnName("Disabled")
				.IsRequired();
			Property(t => t.LoginTime)
				.HasColumnName("LoginTime")
				.IsRequired();
			Property(t => t.Remark)
				.HasColumnName("Remark")
				.HasMaxLength(1000)
				.IsOptional();
			Property(t => t.Setting)
				.HasColumnName("Setting")
				.IsRequired();
			Property(t => t.IsCertify)
				.HasColumnName("IsCertify")
				.IsRequired();
			Property(t => t.IsSupplier)
				.HasColumnName("IsSupplier")
				.IsRequired();
			Property(t => t.IsOEM)
				.HasColumnName("IsOEM")
				.IsRequired();
			Property(t => t.IsPlatform)
				.HasColumnName("IsPlatform")
				.IsRequired();
			//Property(t => t.PartnerId)
			//	.HasColumnName("PartnerId")
			//	.IsOptional();
			//Property(t => t.Rate)
			//	.HasColumnName("Rate")
			//	.HasPrecision(18, 2)
			//	.IsRequired();
			Property(t => t.PublicKey)
				.HasColumnName("PublicKey")
				.IsOptional();
            Property(t => t.UserType)
                .HasColumnName("UserType")
                .IsOptional();
            Property(t => t.OemId)
                .HasColumnName("OemId")
                .IsOptional();
            Property(t => t.Domain)
                .HasColumnName("Domain")
                .HasMaxLength(200)
                .IsOptional();
            Property(t => t.MobileCode)
                .HasColumnName("MobileCode")
                .HasMaxLength(10)
                .IsRequired();
        }
	}
}
